////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2017-2018 Qualcomm Technologies, Inc.
// All Rights Reserved.
// Confidential and Proprietary - Qualcomm Technologies, Inc.
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// THIS IS AUTO-GENERATED CODE.  PLEASE DO NOT EDIT (File bug reports against tools).
///
/// Auto-generated by: ParameterParser V1.1.4
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// @file  camxactuatordriver.h
/// @brief Auto-generated Chromatix parameter file
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

#ifndef CAMXACTUATORDRIVER_H
#define CAMXACTUATORDRIVER_H

#include "parametermodule.h"
#include "parameterfilesymboltable.h"
#include "parametertypes.h"
#include "camxsensorcommon.h"

#define CAMX_NAMESPACE_BEGIN namespace CamX {
#define CAMX_NAMESPACE_END }

CAMX_NAMESPACE_BEGIN

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// ActuatorType
/// Comments:      Actuator type
///                Supported types are: VCM, BIVCM
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
enum class ActuatorType
{
    VCM   = 0,
    BIVCM = 1
};

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// ActuatorSlaveInfo
/// Comments:      Actuator slave information
///                 element for actuatorName
///                 element for slaveAddress
///                 element for i2cFrequencyMode
///                 element for actuatorType
///                 element for dataBitWidth
///                 element for powerUpSequence
///                 element for powerDownSequence
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
struct ActuatorSlaveInfo
{
    /// Name of the actuator
    CHAR*                               actuatorName;
    /// 8-bit or 10-bit write slave address
    UINT16                              slaveAddress;

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// i2cFrequencyMode
    /// Default Value: FAST
    /// Comments:      I2C frequency mode of slave
    ///                Supported modes are: STANDARD (100 KHz), FAST (400 KHz), FAST_PLUS (1 MHz), CUSTOM (Custom frequency in
    ///                DTSI)
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    I2CFrequencyMode  i2cFrequencyMode;

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// actuatorType
    /// Comments:      Actuator type
    ///                Supported types are: VCM, BIVCM
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ActuatorType                        actuatorType;
    /// Data width in bits
    UINT16                              dataBitWidth;

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// powerUpSequence
    /// Comments:      Sequence of power configuration type and configuration value required to control power to the device
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    PowerSequenceInfo powerUpSequence;

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// powerDownSequence
    /// Comments:      Sequence of power configuration type and configuration value required to control power to the device
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    PowerSequenceInfo powerDownSequence;
};

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// ActuatorOperation
/// Comments:      Actuator operations
///                Supported operations are: WRITE_HW_DAMP, WRITE_DAC, WRITE, WRITE_DIR_REG, POLL, READ_WRITE
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
enum class ActuatorOperation
{
    WRITE_HW_DAMP   = 0,
    WRITE_DAC_VALUE = 1,
    WRITE           = 2,
    WRITE_DIR_REG   = 3,
    POLL            = 4,
    READ_WRITE      = 5
};

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// ActuatorRegParam
/// Comments:      Actuator register configuration
///                 element for regAddrType
///                 element for regDataType
///                 element for registerAddr
///                 element for registerData
///                 element for writeType
///                 element for delayUs
///                 element for hwMask
///                 element for hwShift
///                 element for dataShift
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
struct ActuatorRegParam
{

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// regAddrType
    ///
    /// Range:         [1,4]
    /// Comments:      Register address / data size in bytes
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    I2CRegAddrDataType regAddrType;

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// regDataType
    ///
    /// Range:         [1,4]
    /// Comments:      Register address / data size in bytes
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    I2CRegAddrDataType regDataType;
    /// Register address that is accessed
    UINT32                               registerAddr;
    /// Register data to be programmed
    UINT32                               registerData;

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// operation
    /// Default Value: WRITE
    /// Comments:      Actuator operations
    ///                Supported operations are: WRITE_HW_DAMP, WRITE_DAC, WRITE, WRITE_DIR_REG, POLL, READ_WRITE
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ActuatorOperation                    operation;
    /// Delay in micro seconds
    UINT32                               delayUs;
    /// Hardware mask
    UINT32                               hwMask;
    /// Number of bits to shift for HW
    UINT32                               hwShift;
    /// Number of bits to shift for data
    UINT32                               dataShift;
};

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// ActuatorRegConfig
/// Comments:      Sequence of register configuration
///                 element for regConfig
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
struct ActuatorRegConfig
{

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// registerParam - Array
    /// Min Length:    1
    /// Max Length:    Unbounded
    /// Comments:      Actuator register configuration
    ///                 element for regAddrType
    ///                 element for regDataType
    ///                 element for registerAddr
    ///                 element for registerData
    ///                 element for writeType
    ///                 element for delayUs
    ///                 element for hwMask
    ///                 element for hwShift
    ///                 element for dataShift
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    UINT32            registerParamCount;
    UINT32            registerParamID;
    ActuatorRegParam* registerParam;
};

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// ActuatorRegionParams
/// Comments:      Actuator region parameters
///                 element for macroStepBound
///                 element for reverseStepBound
///                 element for codePerStep
///                 element for qValue
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
struct ActuatorRegionParams
{
    /// Macro step boundary. In Near / forward direction
    UINT16 macroStepBoundary;
    /// Infinity step boundary. In Far / backward direction
    UINT16 infinityStepBoundary;
    /// Code per step
    FLOAT  codePerStep;
    /// Q Value to convert float / double to integer format
    UINT32 qValue;
};

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// ActuatorRegionParamsArray
/// Comments:      Actuator region parameters for all regions
///                 element for forwardStepBound
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
struct ActuatorRegionParamsArray
{

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// region - Array
    /// Min Length:    1
    /// Max Length:    Unbounded
    /// Comments:      Actuator region parameters
    ///                 element for macroStepBound
    ///                 element for reverseStepBound
    ///                 element for codePerStep
    ///                 element for qValue
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    UINT32                regionCount;
    UINT32                regionID;
    ActuatorRegionParams* region;
};

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// ActuatorDampingParams
/// Comments:      Actuator damping parameters
///                 element for dampingStep
///                 element for dampingDelayUs
///                 element for hwParams
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
struct ActuatorDampingParams
{
    /// Actuator damping step
    UINT32 dampingStep;
    /// Actuator damping delay in micro seconds that must be applied after programming damping step
    UINT32 dampingDelayUs;
    /// Actuator HW parameters
    UINT32 hwParams;
};

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// RegionDampingParamsArray
/// Comments:      Actuator damping parameters for all regions
///                 element for dampingStep
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
struct RegionDampingParamsArray
{

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// region - Array
    /// Min Length:    1
    /// Max Length:    Unbounded
    /// Comments:      Actuator damping parameters
    ///                 element for dampingStep
    ///                 element for dampingDelayUs
    ///                 element for hwParams
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    UINT32                 regionCount;
    UINT32                 regionID;
    ActuatorDampingParams* region;
};

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// ScenarioDampingParamsArray
/// Comments:      Actuator damping parameters for all scenarios
///                 element for dampingStep
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
struct ScenarioDampingParamsArray
{

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// scenario - Array
    /// Min Length:    1
    /// Max Length:    Unbounded
    /// Comments:      Actuator damping parameters for all regions
    ///                 element for dampingStep
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    UINT32                    scenarioCount;
    UINT32                    scenarioID;
    RegionDampingParamsArray* scenario;
};

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// ActuatorDampingInfo
/// Comments:      Actuator scenario ringing and damping information
///                 element for ringingScenario
///                 element for dampingStep
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
struct ActuatorDampingInfo
{
    /// Actuator ringing scenario value
    UINT16                     ringingScenario;

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// scenarioDampingParams
    /// Comments:      Actuator damping parameters for all scenarios
    ///                 element for dampingStep
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ScenarioDampingParamsArray scenarioDampingParams;
};

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// ActuatorTunedParams
/// Comments:      Actuator tuning parameters
///                 element for initialCode
///                 element for regionParams
///                 element for forwardDamping
///                 element for backwardDamping
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
struct ActuatorTunedParams
{
    /// Initial DAC code
    INT16                     initialCode;

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// regionParams
    /// Comments:      Actuator region parameters for all regions
    ///                 element for forwardStepBound
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ActuatorRegionParamsArray regionParams;

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// forwardDamping
    /// Comments:      Actuator scenario ringing and damping information
    ///                 element for ringingScenario
    ///                 element for dampingStep
    ///                Damping parameters in forward / near direction
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ActuatorDampingInfo       forwardDamping;

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// backwardDamping
    /// Comments:      Actuator scenario ringing and damping information
    ///                 element for ringingScenario
    ///                 element for dampingStep
    ///                Damping parameters in backward / far direction
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ActuatorDampingInfo       backwardDamping;
};

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// ActuatorDriverData
/// Comments:      Actuator driver data
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
struct ActuatorDriverData
{
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Binary file symbol table entry ID
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    UINT32 SymbolTableID;

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// module_version
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    struct module_versionStruct
    {
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        /// Binary file symbol table entry ID
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        UINT32 SymbolTableID;
        INT32 major_revision;
        INT32 minor_revision;
        INT32 incr_revision;
    } module_version;

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// slaveInfo
    /// Comments:      Actuator slave information
    ///                 element for actuatorName
    ///                 element for slaveAddress
    ///                 element for i2cFrequencyMode
    ///                 element for actuatorType
    ///                 element for dataBitWidth
    ///                 element for powerUpSequence
    ///                 element for powerDownSequence
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ActuatorSlaveInfo               slaveInfo;

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// registerConfig
    /// Comments:      Sequence of register configuration
    ///                 element for regConfig
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ActuatorRegConfig               registerConfig;

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// initSettings
    /// Comments:      Sequence of register settings to configure the device
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    SettingsInfo  initSettings;

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// deInitSettings - Optional
    /// Min Length:    0
    /// Max Length:    1
    /// Comments:      Sequence of register settings to configure the device
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    UINT32                          deInitSettingsExists;
    UINT32                          deInitSettingsID;
    SettingsInfo  deInitSettings;

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// tunedParams
    /// Comments:      Actuator tuning parameters
    ///                 element for initialCode
    ///                 element for regionParams
    ///                 element for forwardDamping
    ///                 element for backwardDamping
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ActuatorTunedParams             tunedParams;
};

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/// ActuatorDriverDataClass
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
class ActuatorDriverDataClass : public ParameterModule, public ActuatorDriverData
{
public:
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Version
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    static const UINT16 MAJOR = 1;
    static const UINT16 MINOR = 0;
    static const UINT32 PATCH = 0;

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Default Constructor
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ActuatorDriverDataClass(
        const CHAR* name);

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Constructor
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    ActuatorDriverDataClass(
        const CHAR* name,
        UINT32 modeId,
        UINT16 mode,
        UINT16 subMode,
        UINT32 group);

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Destructor
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    virtual ~ActuatorDriverDataClass();

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// GetName
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    static const CHAR* GetName(
        const CHAR* type);


    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Load ActuatorSlaveInfo
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    static BOOL LoadActuatorSlaveInfo(
        ParameterFileSymbolTableEntry* entry,
        ActuatorSlaveInfo* structure);

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Load ActuatorRegParam
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    static BOOL LoadActuatorRegParam(
        ParameterFileSymbolTableEntry* entry,
        ActuatorRegParam* structure);

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Load ActuatorRegConfig
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    static BOOL LoadActuatorRegConfig(
        ParameterFileSymbolTableEntry* entry,
        ActuatorRegConfig* structure);

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Load ActuatorRegionParams
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    static BOOL LoadActuatorRegionParams(
        ParameterFileSymbolTableEntry* entry,
        ActuatorRegionParams* structure);

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Load ActuatorRegionParamsArray
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    static BOOL LoadActuatorRegionParamsArray(
        ParameterFileSymbolTableEntry* entry,
        ActuatorRegionParamsArray* structure);

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Load ActuatorDampingParams
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    static BOOL LoadActuatorDampingParams(
        ParameterFileSymbolTableEntry* entry,
        ActuatorDampingParams* structure);

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Load RegionDampingParamsArray
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    static BOOL LoadRegionDampingParamsArray(
        ParameterFileSymbolTableEntry* entry,
        RegionDampingParamsArray* structure);

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Load ScenarioDampingParamsArray
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    static BOOL LoadScenarioDampingParamsArray(
        ParameterFileSymbolTableEntry* entry,
        ScenarioDampingParamsArray* structure);

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Load ActuatorDampingInfo
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    static BOOL LoadActuatorDampingInfo(
        ParameterFileSymbolTableEntry* entry,
        ActuatorDampingInfo* structure);

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Load ActuatorTunedParams
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    static BOOL LoadActuatorTunedParams(
        ParameterFileSymbolTableEntry* entry,
        ActuatorTunedParams* structure);

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Load ActuatorDriverData
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    static BOOL LoadActuatorDriverData(
        ParameterFileSymbolTableEntry* entry,
        ActuatorDriverData* structure);

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Load module_versionStruct
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    static BOOL Loadmodule_versionStruct(
        ParameterFileSymbolTableEntry* entry,
        ActuatorDriverData::module_versionStruct* structure);

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Unload ActuatorSlaveInfo
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    static void UnloadActuatorSlaveInfo(
        ActuatorSlaveInfo* structure);

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Unload ActuatorRegConfig
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    static void UnloadActuatorRegConfig(
        ActuatorRegConfig* structure);

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Unload ActuatorRegionParamsArray
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    static void UnloadActuatorRegionParamsArray(
        ActuatorRegionParamsArray* structure);

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Unload RegionDampingParamsArray
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    static void UnloadRegionDampingParamsArray(
        RegionDampingParamsArray* structure);

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Unload ScenarioDampingParamsArray
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    static void UnloadScenarioDampingParamsArray(
        ScenarioDampingParamsArray* structure);

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Unload ActuatorDampingInfo
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    static void UnloadActuatorDampingInfo(
        ActuatorDampingInfo* structure);

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Unload ActuatorTunedParams
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    static void UnloadActuatorTunedParams(
        ActuatorTunedParams* structure);

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Unload ActuatorDriverData
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    static void UnloadActuatorDriverData(
        ActuatorDriverData* structure);

    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    /// Parse symbol table entry, and return a new object
    ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    virtual ParameterModule* Parse(
        ParameterSetManager* manager,
        ParameterFileSymbolTableEntry* entry) const;

}; // End class ActuatorDriverDataClass

CAMX_NAMESPACE_END
#endif // CAMXACTUATORDRIVER_H

